home *** CD-ROM | disk | FTP | other *** search
-
-
-
- ____SSSSYYYYRRRR2222KKKK((((3333FFFF)))) ____SSSSYYYYRRRR2222KKKK((((3333FFFF))))
-
-
-
- NNNNAAAAMMMMEEEE
- dsyr2k, ssyr2k, zsyr2k, csyr2k - BLAS level three Symmetric Rank 2K
- Update.
-
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN 77777777 SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ddddssssyyyyrrrr2222kkkk((((uuuupppplllloooo,,,,ttttrrrraaaannnnssss,,,,nnnn,,,,kkkk,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,bbbb,,,,llllddddbbbb,,,,bbbbeeeettttaaaa,,,,cccc,,,,llllddddcccc))))
- cccchhhhaaaarrrraaaacccctttteeeerrrr****1111 uuuupppplllloooo,,,, ttttrrrraaaannnnssss
- iiiinnnntttteeeeggggeeeerrrr nnnn,,,, kkkk,,,, llllddddaaaa,,,, llllddddbbbb,,,, llllddddcccc
- ddddoooouuuubbbblllleeee pppprrrreeeecccciiiissssiiiioooonnnn aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
- ddddoooouuuubbbblllleeee pppprrrreeeecccciiiissssiiiioooonnnn aaaa(((( llllddddaaaa,,,,****)))),,,, bbbb(((( llllddddbbbb,,,,****)))),,,, cccc((((llllddddcccc,,,,****))))
-
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ssssssssyyyyrrrr2222kkkk((((uuuupppplllloooo,,,,ttttrrrraaaannnnssss,,,,nnnn,,,,kkkk,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,bbbb,,,,llllddddbbbb,,,,bbbbeeeettttaaaa,,,,cccc,,,,llllddddcccc))))
- cccchhhhaaaarrrraaaacccctttteeeerrrr****1111 uuuupppplllloooo,,,, ttttrrrraaaannnnssss
- iiiinnnntttteeeeggggeeeerrrr nnnn,,,, kkkk,,,, llllddddaaaa,,,, llllddddbbbb,,,, llllddddcccc
- rrrreeeeaaaallll aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
- rrrreeeeaaaallll aaaa(((( llllddddaaaa,,,,****)))),,,, bbbb(((( llllddddbbbb,,,,****)))),,,, cccc((((llllddddcccc,,,,****))))
-
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee zzzzssssyyyyrrrr2222kkkk((((uuuupppplllloooo,,,,ttttrrrraaaannnnssss,,,,nnnn,,,,kkkk,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,bbbb,,,,llllddddbbbb,,,,bbbbeeeettttaaaa,,,,cccc,,,,llllddddcccc))))
- cccchhhhaaaarrrraaaacccctttteeeerrrr****1111 uuuupppplllloooo,,,, ttttrrrraaaannnnssss
- iiiinnnntttteeeeggggeeeerrrr nnnn,,,, kkkk,,,, llllddddaaaa,,,, llllddddbbbb,,,, llllddddcccc
- ddddoooouuuubbbblllleeee ccccoooommmmpppplllleeeexxxx aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
- ddddoooouuuubbbblllleeee ccccoooommmmpppplllleeeexxxx aaaa(((( llllddddaaaa,,,,****)))),,,, bbbb(((( llllddddbbbb,,,,****)))),,,, cccc((((llllddddcccc,,,,****))))
-
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ccccssssyyyyrrrr2222kkkk((((uuuupppplllloooo,,,,ttttrrrraaaannnnssss,,,,nnnn,,,,kkkk,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,bbbb,,,,llllddddbbbb,,,,bbbbeeeettttaaaa,,,,cccc,,,,llllddddcccc))))
- cccchhhhaaaarrrraaaacccctttteeeerrrr****1111 uuuupppplllloooo,,,, ttttrrrraaaannnnssss
- iiiinnnntttteeeeggggeeeerrrr nnnn,,,, kkkk,,,, llllddddaaaa,,,, llllddddbbbb,,,, llllddddcccc
- ccccoooommmmpppplllleeeexxxx aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
- ccccoooommmmpppplllleeeexxxx aaaa(((( llllddddaaaa,,,,****)))),,,, bbbb(((( llllddddbbbb,,,,****)))),,,, cccc((((llllddddcccc,,,,****))))
-
-
-
- CCCC SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- vvvvooooiiiidddd ddddssssyyyyrrrr2222kkkk((((uuuupppplllloooo,,,,ttttrrrraaaannnnssss,,,,nnnn,,,,kkkk,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,bbbb,,,,llllddddbbbb,,,,bbbbeeeettttaaaa,,,,cccc,,,,llllddddcccc))))
- MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee uuuupppplllloooo;;;;
- MMMMaaaattttrrrriiiixxxxTTTTrrrraaaannnnssssppppoooosssseeee ttttrrrraaaannnnssss;;;;
- IIIInnnntttteeeeggggeeeerrrr nnnn,,,, kkkk,,,, llllddddaaaa,,,, llllddddbbbb,,,, llllddddcccc;;;;
- ddddoooouuuubbbblllleeee aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa;;;;
- ddddoooouuuubbbblllleeee ((((****aaaa))))[[[[llllddddaaaa****kkkk]]]],,,, ((((****bbbb))))[[[[llllddddaaaa****kkkk]]]],,,, ((((****cccc))))[[[[llllddddaaaa****nnnn]]]];;;;
-
- vvvvooooiiiidddd ssssssssyyyyrrrr2222kkkk((((uuuupppplllloooo,,,,ttttrrrraaaannnnssss,,,,nnnn,,,,kkkk,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,bbbb,,,,llllddddbbbb,,,,bbbbeeeettttaaaa,,,,cccc,,,,llllddddcccc))))
- MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee uuuupppplllloooo;;;;
- MMMMaaaattttrrrriiiixxxxTTTTrrrraaaannnnssssppppoooosssseeee ttttrrrraaaannnnssss;;;;
- IIIInnnntttteeeeggggeeeerrrr nnnn,,,, kkkk,,,, llllddddaaaa,,,, llllddddbbbb,,,, llllddddcccc;;;;
- ffffllllooooaaaatttt aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa;;;;
- ffffllllooooaaaatttt ((((****aaaa))))[[[[llllddddaaaa****kkkk]]]],,,, ((((****bbbb))))[[[[llllddddaaaa****kkkk]]]],,,, ((((****cccc))))[[[[llllddddaaaa****nnnn]]]];;;;
-
- vvvvooooiiiidddd zzzzssssyyyyrrrr2222kkkk((((uuuupppplllloooo,,,,ttttrrrraaaannnnssss,,,,nnnn,,,,kkkk,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,bbbb,,,,llllddddbbbb,,,,bbbbeeeettttaaaa,,,,cccc,,,,llllddddcccc))))
- MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee uuuupppplllloooo;;;;
- MMMMaaaattttrrrriiiixxxxTTTTrrrraaaannnnssssppppoooosssseeee ttttrrrraaaannnnssss;;;;
- IIIInnnntttteeeeggggeeeerrrr nnnn,,,, kkkk,,,, llllddddaaaa,,,, llllddddbbbb,,,, llllddddcccc;;;;
- ZZZZoooommmmpppplllleeeexxxx aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa;;;;
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- ____SSSSYYYYRRRR2222KKKK((((3333FFFF)))) ____SSSSYYYYRRRR2222KKKK((((3333FFFF))))
-
-
-
- ZZZZoooommmmpppplllleeeexxxx ((((****aaaa))))[[[[llllddddaaaa****kkkk]]]],,,, ((((****bbbb))))[[[[llllddddaaaa****kkkk]]]],,,, ((((****cccc))))[[[[llllddddaaaa****nnnn]]]];;;;
-
- vvvvooooiiiidddd ccccssssyyyyrrrr2222kkkk((((uuuupppplllloooo,,,,ttttrrrraaaannnnssss,,,,nnnn,,,,kkkk,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,bbbb,,,,llllddddbbbb,,,,bbbbeeeettttaaaa,,,,cccc,,,,llllddddcccc))))
- MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee uuuupppplllloooo;;;;
- MMMMaaaattttrrrriiiixxxxTTTTrrrraaaannnnssssppppoooosssseeee ttttrrrraaaannnnssss;;;;
- IIIInnnntttteeeeggggeeeerrrr nnnn,,,, kkkk,,,, llllddddaaaa,,,, llllddddbbbb,,,, llllddddcccc;;;;
- CCCCoooommmmpppplllleeeexxxx aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa;;;;
- CCCCoooommmmpppplllleeeexxxx ((((****aaaa))))[[[[llllddddaaaa****kkkk]]]],,,, ((((****bbbb))))[[[[llllddddaaaa****kkkk]]]],,,, ((((****cccc))))[[[[llllddddaaaa****nnnn]]]];;;;
-
-
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- ddddssssyyyyrrrr2222kkkk ,,,, ssssssssyyyyrrrr2222kkkk ,,,, zzzzssssyyyyrrrr2222kkkk and ccccssssyyyyrrrr2222kkkk perform one of the matrix-matrix
- operations
-
- C := alpha*A*B' + alpha*B*A' + beta*C,
-
- or
-
- C := alpha*A'*B + alpha*B'*A + beta*C,
-
- where alpha and beta are scalars, C is an n by n symmetric matrix and A
- and B are n by k matrices in the first case and k by n matrices in the
- second case.
-
-
- PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
- uuuupppplllloooo On entry, uuuupppplllloooo specifies whether the matrix is an upper or lower
- triangular matrix as follows:
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN
- uplo = 'U' or 'u' Only the upper triangular part of C
- is to be referenced.
- uplo = 'L' or 'l' Only the lower triangular part of C
- is to be referenced.
-
- CCCC
- uplo = UpperTriangle Only the upper triangular part of C
- is to be referenced.
- uplo = LowerTriangle Only the lower triangular part of C
- is to be referenced.
-
- Unchanged on exit.
-
- ttttrrrraaaannnnssss On entry, ttttrrrraaaannnnssss specifies the operation to be performed as
- follows:
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN
- trans = 'N' or 'n' C := alpha*A*B' + alpha*B*A' + beta*C.
- trans = 'T' or 't' C := alpha*A'*B + alpha*B'*A + beta*C.
-
- CCCC
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
- ____SSSSYYYYRRRR2222KKKK((((3333FFFF)))) ____SSSSYYYYRRRR2222KKKK((((3333FFFF))))
-
-
-
- trans = NoTranspose C := alpha*A*B' + alpha*B*A' + beta*C.
- trans = Transpose C := alpha*A'*B + alpha*B'*A + beta*C.
-
- Unchanged on exit.
-
- nnnn On entry, nnnn specifies the order of the matrix C. nnnn must be at
- least zero.
- Unchanged on exit.
-
- kkkk On entry with, trans = 'N' or 'n' or NoTranspose kkkk specifies the
- number of columns of the matrices A and B, and on entry with
- trans = 'T' or 't' or Transpose, kkkk specifies the number of rows
- of the matries A and B. K must be at least zero.
- Unchanged on exit.
-
- aaaallllpppphhhhaaaa specifies the scalar alpha.
- Unchanged on exit.
-
- aaaa An array containing the matrix A.
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN
- Array of dimension (lda, ka).
-
- CCCC
- A pointer to an array of size lda*ka.
- See note below about array storage convention for C.
-
- kkkkaaaa is kkkk when transa = 'N' or 'n' or NoTranspose and is nnnn
- otherwise. Before entry with trans = 'N' or 'n' or NoTranspose,
- the leading n by k part of the array aaaa must contain the matrix A,
- otherwise the leading k by n part of the array aaaa must contain
- the matrix A.
-
- Unchanged on exit.
-
- llllddddaaaa On entry, llllddddaaaa specifies the first dimension of aaaa as declared in
- the calling (sub) program. When transa = 'N' or 'n' or
- NoTranspose, then lda must be at least max( 1, n ), otherwise lda
- must be at least max( 1, k ).
- Unchanged on exit.
-
- bbbb An array containing the matrix B.
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN
- Array of dimension (lda, kb).
-
- CCCC
- A pointer to an array of size lda*kb.
- See note below about array storage convention for C.
-
- kkkkbbbb is kkkk when transa = 'N' or 'n' or NoTranspose and is nnnn
- otherwise. Before entry with trans = 'N' or 'n' or NoTranspose,
-
-
-
- PPPPaaaaggggeeee 3333
-
-
-
-
-
-
- ____SSSSYYYYRRRR2222KKKK((((3333FFFF)))) ____SSSSYYYYRRRR2222KKKK((((3333FFFF))))
-
-
-
- the leading n by k part of the array bbbb must contain the matrix B,
- otherwise the leading k by n part of the array bbbb must contain
- the matrix B.
-
- Unchanged on exit.
-
- llllddddbbbb On entry, llllddddbbbb specifies the first dimension of bbbb as declared in
- the calling (sub) program. When trans = 'N' or 'n' or
- NoTranspose, then ldb must be at least max( 1, n ), otherwise lda
- must be at least max( 1, k ).
- Unchanged on exit.
-
- bbbbeeeettttaaaa On entry, bbbbeeeettttaaaa specifies the scalar beta.
- Unchanged on exit.
-
- cccc An array containing the matrix C.
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN
- An array of dimension ( ldc, n ).
-
- CCCC
- A pointer to an array of size ldc*n.
- See note below about array storage convention for C.
-
- Before entry with uplo = 'U' or 'u' or UpperTraingle, the
- leading n by n triangular part of the symmetric matrix and
- the strictly lower triangular part of C is not referenced. On
- exit, the upper triangular part of the array C is overwritten by
- the upper triangular part of the updated matrix.
-
- Before entry with uplo = 'L' or 'l', the leading n by n lower
- triangular part of the array C must contain the lower triangular
- part of the symmetric matrix and the strictly upper triangular
- part of C is not referenced. On exit, the lower triangular part
- of the array C is overwritten by the lower triangular part of
- the updated matrix.
-
- llllddddcccc On entry, llllddddcccc specifies the first dimension of cccc as declared in
- the calling (sub) program. llllddddcccc must be at least max( 1, n ).
-
- Unchanged on exit.
-
-
-
- CCCC AAAARRRRRRRRAAAAYYYY SSSSTTTTOOOORRRRAAAAGGGGEEEE CCCCOOOONNNNVVVVEEEENNNNTTTTIIIIOOOONNNN
- The matrices are assumed to be stored in a oooonnnneeee ddddiiiimmmmeeeennnnssssiiiioooonnnnaaaallll CCCC aaaarrrrrrrraaaayyyy
- in an analogous fashion as a Fortran array (column major). Therefore,
- the element A(i+1,j) of matrix A is stored immediately after the
- element A(i,j), while A(i,j+1) is lda elements apart from A(i,j).
- The element A(i,j) of the matrix can be accessed directly by reference
- to a[ (j-1)*lda + (i-1) ].
-
-
-
-
- PPPPaaaaggggeeee 4444
-
-
-
-
-
-
- ____SSSSYYYYRRRR2222KKKK((((3333FFFF)))) ____SSSSYYYYRRRR2222KKKK((((3333FFFF))))
-
-
-
- AAAAUUUUTTTTHHHHOOOORRRRSSSS
- Jack Dongarra, Argonne National Laboratory.
- Iain Duff, AERE Harwell.
- Jeremy Du Croz, Numerical Algorithms Group Ltd.
- Sven Hammarling, Numerical Algorithms Group Ltd.
-
-
- TTTTUUUUNNNNIIIINNNNGGGG
- Optimized and parallelized for SGI R3000, R4x00 and R8000 platforms.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 5555
-
-
-
-